home *** CD-ROM | disk | FTP | other *** search
/ Aminet 45 / Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso / Aminet / dev / misc / fd2pragma.lha / fd2pragma / Scripts / vbcc / amiga68k / MakeALIB.script next >
AmigaDOS Script File  |  2001-07-31  |  10KB  |  301 lines

  1. .key -sd/S
  2.  
  3. if not exists MakeALIB.script
  4.   echo "Please change first to the script's directory!"
  5.   quit
  6. endif
  7.  
  8. set temp T:
  9. set fdLVOflags special 20 to $temp
  10.  
  11. if "<-sd>" EQ ""
  12.   set lbmodel large data
  13.   set alibnam amiga.lib
  14.   set fdflags special 12 to $temp hunkname CODE onlycnames noppc
  15.   set vcflags -O1
  16. else
  17.   set lbmodel small data
  18.   set alibnam amigas.lib
  19.   set fdflags special 12 to $temp smalldata hunkname CODE onlycnames noppc
  20.   set vcflags -O1 -sd
  21. endif
  22.  
  23.  
  24. echo "Checking for required commands. Stopping if missing.*N"
  25.  
  26. failat 5
  27.   echo noline "which    : "
  28.     which which            ;stop if missing. :-)
  29.   echo noline "copy     : "
  30.     which copy
  31.   echo noline "delete   : "
  32.     which delete
  33.   echo noline "rename   : "
  34.     which rename
  35.   echo noline "execute  : "
  36.     which execute
  37.   echo noline "join     : "
  38.     which join
  39.   echo noline "list     : "
  40.     which list
  41.   echo noline "spat     : "
  42.     which spat
  43.   echo noline "fd2pragma: "
  44.     which fd2pragma
  45.   echo noline "vc       : "
  46.     which vc
  47.   echo noline "phxass   : "
  48.     which phxass
  49. failat 20
  50.  
  51. echo "*NCompiling $alibnam with $lbmodel model. This may take some time..."
  52.   delete t:($alibnam|#?.(s|o|i|lib)) quiet >nil:
  53. echo "*NProcessing FDs..."
  54.   failat 21
  55.  
  56. echo "*NGenerating stub functions..."
  57.   ; OS3.1 libraries
  58.   fd2pragma $fdflags FD:amigaguide_lib.fd
  59.   fd2pragma $fdflags FD:asl_lib.fd
  60.   fd2pragma $fdflags FD:battclock_lib.fd
  61.   fd2pragma $fdflags FD:battmem_lib.fd
  62.   fd2pragma $fdflags FD:bullet_lib.fd
  63.   fd2pragma $fdflags FD:cardres_lib.fd
  64. ; fd2pragma $fdflags FD:cia_lib.fd        ; doesn't work!
  65.   fd2pragma $fdflags FD:colorwheel_lib.fd
  66.   fd2pragma $fdflags FD:commodities_lib.fd
  67.   fd2pragma $fdflags FD:console_lib.fd
  68.   fd2pragma $fdflags FD:datatypes_lib.fd
  69.   fd2pragma $fdflags FD:diskfont_lib.fd
  70.   fd2pragma $fdflags FD:disk_lib.fd
  71.   fd2pragma $fdflags FD:dos_lib.fd
  72.   fd2pragma $fdflags FD:dtclass_lib.fd
  73.   fd2pragma $fdflags FD:exec_lib.fd
  74.   fd2pragma $fdflags FD:expansion_lib.fd
  75.   fd2pragma $fdflags FD:gadtools_lib.fd
  76.   fd2pragma $fdflags FD:graphics_lib.fd
  77.   fd2pragma $fdflags FD:icon_lib.fd
  78.   fd2pragma $fdflags FD:iffparse_lib.fd
  79.   fd2pragma $fdflags FD:input_lib.fd
  80.   fd2pragma $fdflags FD:intuition_lib.fd
  81.   fd2pragma $fdflags FD:keymap_lib.fd
  82.   fd2pragma $fdflags FD:layers_lib.fd
  83.   fd2pragma $fdflags FD:locale_lib.fd
  84.   fd2pragma $fdflags FD:lowlevel_lib.fd
  85.   fd2pragma $fdflags FD:mathffp_lib.fd
  86.   fd2pragma $fdflags FD:mathieeedoubbas_lib.fd
  87.   fd2pragma $fdflags FD:mathieeedoubtrans_lib.fd
  88.   fd2pragma $fdflags FD:mathieeesingbas_lib.fd
  89.   fd2pragma $fdflags FD:mathieeesingtrans_lib.fd
  90.   fd2pragma $fdflags FD:mathtrans_lib.fd
  91.   fd2pragma $fdflags FD:misc_lib.fd
  92.   fd2pragma $fdflags FD:nonvolatile_lib.fd
  93.   fd2pragma $fdflags FD:potgo_lib.fd
  94.   fd2pragma $fdflags FD:ramdrive_lib.fd
  95.   fd2pragma $fdflags FD:realtime_lib.fd
  96.   fd2pragma $fdflags FD:rexxsyslib_lib.fd
  97.   fd2pragma $fdflags FD:timer_lib.fd
  98.   fd2pragma $fdflags FD:translator_lib.fd
  99.   fd2pragma $fdflags FD:utility_lib.fd
  100.   fd2pragma $fdflags FD:wb_lib.fd
  101.   ; OS3.5 libraries
  102.   fd2pragma $fdflags FD:aml_lib.fd
  103.   fd2pragma $fdflags FD:arexx_lib.fd 
  104.   fd2pragma $fdflags FD:bevel_lib.fd
  105.   fd2pragma $fdflags FD:bitmap_lib.fd
  106.   fd2pragma $fdflags FD:button_lib.fd
  107.   fd2pragma $fdflags FD:checkbox_lib.fd
  108.   fd2pragma $fdflags FD:chooser_lib.fd
  109.   fd2pragma $fdflags FD:clicktab_lib.fd
  110.   fd2pragma $fdflags FD:datebrowser_lib.fd
  111.   fd2pragma $fdflags FD:drawlist_lib.fd
  112.   fd2pragma $fdflags FD:fuelgauge_lib.fd
  113.   fd2pragma $fdflags FD:getfile_lib.fd
  114.   fd2pragma $fdflags FD:getfont_lib.fd
  115.   fd2pragma $fdflags FD:getscreenmode_lib.fd
  116.   fd2pragma $fdflags FD:glyph_lib.fd
  117.   fd2pragma $fdflags FD:hdwrench_lib.fd
  118.   fd2pragma $fdflags FD:integer_lib.fd
  119.   fd2pragma $fdflags FD:label_lib.fd
  120.   fd2pragma $fdflags FD:layout_lib.fd
  121.   fd2pragma $fdflags FD:listbrowser_lib.fd
  122.   fd2pragma $fdflags FD:palette_lib.fd
  123.   fd2pragma $fdflags FD:penmap_lib.fd
  124.   fd2pragma $fdflags FD:popcycle_lib.fd
  125.   fd2pragma $fdflags FD:radiobutton_lib.fd
  126.   fd2pragma $fdflags FD:requester_lib.fd
  127.   fd2pragma $fdflags FD:scroller_lib.fd
  128.   fd2pragma $fdflags FD:slider_lib.fd
  129.   fd2pragma $fdflags FD:space_lib.fd
  130.   fd2pragma $fdflags FD:speedbar_lib.fd
  131.   fd2pragma $fdflags FD:string_lib.fd
  132.   fd2pragma $fdflags FD:texteditor_lib.fd
  133.   fd2pragma $fdflags FD:textfield_lib.fd
  134.   fd2pragma $fdflags FD:window_lib.fd
  135.   ; Third party libraries
  136.   fd2pragma $fdflags FD:ahi_lib.fd
  137.   fd2pragma $fdflags FD:ahi_sub_lib.fd
  138.   fd2pragma $fdflags FD:cgxdither_lib.fd
  139.   fd2pragma $fdflags FD:cgxsystem_lib.fd basename CGXSystemBase
  140.   fd2pragma $fdflags FD:cgxvideo_lib.fd
  141.   fd2pragma $fdflags FD:chunkyppc_lib.fd
  142.   fd2pragma $fdflags FD:cybergraphics_lib.fd
  143.   fd2pragma $fdflags FD:muiclass_lib.fd
  144.   fd2pragma $fdflags FD:muimaster_lib.fd
  145.   fd2pragma $fdflags FD:multiuser_lib.fd
  146.   fd2pragma $fdflags FD:Picasso96API.fd
  147.   fd2pragma $fdflags FD:powerpc_lib.fd
  148.   fd2pragma $fdflags FD:ppcdiss_lib.fd
  149.   fd2pragma $fdflags FD:ppc_lib.fd
  150.   fd2pragma $fdflags FD:reqtools_lib.fd
  151.   fd2pragma $fdflags FD:rtgmaster_lib.fd
  152.   fd2pragma $fdflags FD:socket_lib.fd
  153.   fd2pragma $fdflags FD:triton_lib.fd
  154.   fd2pragma $fdflags FD:Warp3D.fd
  155.   fd2pragma $fdflags FD:wizard_lib.fd
  156.  
  157. echo "*NGenerating LVOs..."
  158.   ; OS3.1 libraries
  159.   fd2pragma $fdLVOflags FD:amigaguide_lib.fd
  160.   fd2pragma $fdLVOflags FD:asl_lib.fd
  161.   fd2pragma $fdLVOflags FD:battclock_lib.fd
  162.   fd2pragma $fdLVOflags FD:battmem_lib.fd
  163.   fd2pragma $fdLVOflags FD:bullet_lib.fd
  164.   fd2pragma $fdLVOflags FD:cardres_lib.fd
  165.   fd2pragma $fdLVOflags FD:cia_lib.fd
  166.   fd2pragma $fdLVOflags FD:colorwheel_lib.fd
  167.   fd2pragma $fdLVOflags FD:commodities_lib.fd
  168.   fd2pragma $fdLVOflags FD:console_lib.fd
  169.   fd2pragma $fdLVOflags FD:datatypes_lib.fd
  170.   fd2pragma $fdLVOflags FD:diskfont_lib.fd
  171.   fd2pragma $fdLVOflags FD:disk_lib.fd
  172.   fd2pragma $fdLVOflags FD:dos_lib.fd
  173.   fd2pragma $fdLVOflags FD:dtclass_lib.fd
  174.   fd2pragma $fdLVOflags FD:exec_lib.fd
  175.   fd2pragma $fdLVOflags FD:expansion_lib.fd
  176.   fd2pragma $fdLVOflags FD:gadtools_lib.fd
  177.   fd2pragma $fdLVOflags FD:graphics_lib.fd
  178.   fd2pragma $fdLVOflags FD:icon_lib.fd
  179.   fd2pragma $fdLVOflags FD:iffparse_lib.fd
  180.   fd2pragma $fdLVOflags FD:input_lib.fd
  181.   fd2pragma $fdLVOflags FD:intuition_lib.fd
  182.   fd2pragma $fdLVOflags FD:keymap_lib.fd
  183.   fd2pragma $fdLVOflags FD:layers_lib.fd
  184.   fd2pragma $fdLVOflags FD:locale_lib.fd
  185.   fd2pragma $fdLVOflags FD:lowlevel_lib.fd
  186.   fd2pragma $fdLVOflags FD:mathffp_lib.fd
  187.   fd2pragma $fdLVOflags FD:mathieeedoubbas_lib.fd
  188.   fd2pragma $fdLVOflags FD:mathieeedoubtrans_lib.fd
  189.   fd2pragma $fdLVOflags FD:mathieeesingbas_lib.fd
  190.   fd2pragma $fdLVOflags FD:mathieeesingtrans_lib.fd
  191.   fd2pragma $fdLVOflags FD:mathtrans_lib.fd
  192.   fd2pragma $fdLVOflags FD:misc_lib.fd
  193.   fd2pragma $fdLVOflags FD:nonvolatile_lib.fd
  194.   fd2pragma $fdLVOflags FD:potgo_lib.fd
  195.   fd2pragma $fdLVOflags FD:ramdrive_lib.fd
  196.   fd2pragma $fdLVOflags FD:realtime_lib.fd
  197.   fd2pragma $fdLVOflags FD:rexxsyslib_lib.fd
  198.   fd2pragma $fdLVOflags FD:timer_lib.fd
  199.   fd2pragma $fdLVOflags FD:translator_lib.fd
  200.   fd2pragma $fdLVOflags FD:utility_lib.fd
  201.   fd2pragma $fdLVOflags FD:wb_lib.fd
  202.   ; OS3.5 libraries
  203.   fd2pragma $fdLVOflags FD:aml_lib.fd
  204.   fd2pragma $fdLVOflags FD:arexx_lib.fd 
  205.   fd2pragma $fdLVOflags FD:bevel_lib.fd
  206.   fd2pragma $fdLVOflags FD:bitmap_lib.fd
  207.   fd2pragma $fdLVOflags FD:button_lib.fd
  208.   fd2pragma $fdLVOflags FD:checkbox_lib.fd
  209.   fd2pragma $fdLVOflags FD:chooser_lib.fd
  210.   fd2pragma $fdLVOflags FD:clicktab_lib.fd
  211.   fd2pragma $fdLVOflags FD:datebrowser_lib.fd
  212.   fd2pragma $fdLVOflags FD:drawlist_lib.fd
  213.   fd2pragma $fdLVOflags FD:fuelgauge_lib.fd
  214.   fd2pragma $fdLVOflags FD:getfile_lib.fd
  215.   fd2pragma $fdLVOflags FD:getfont_lib.fd
  216.   fd2pragma $fdLVOflags FD:getscreenmode_lib.fd
  217.   fd2pragma $fdLVOflags FD:glyph_lib.fd
  218.   fd2pragma $fdLVOflags FD:hdwrench_lib.fd
  219.   fd2pragma $fdLVOflags FD:integer_lib.fd
  220.   fd2pragma $fdLVOflags FD:label_lib.fd
  221.   fd2pragma $fdLVOflags FD:layout_lib.fd
  222.   fd2pragma $fdLVOflags FD:listbrowser_lib.fd
  223.   fd2pragma $fdLVOflags FD:palette_lib.fd
  224.   fd2pragma $fdLVOflags FD:penmap_lib.fd
  225.   fd2pragma $fdLVOflags FD:popcycle_lib.fd
  226.   fd2pragma $fdLVOflags FD:radiobutton_lib.fd
  227.   fd2pragma $fdLVOflags FD:requester_lib.fd
  228.   fd2pragma $fdLVOflags FD:scroller_lib.fd
  229.   fd2pragma $fdLVOflags FD:slider_lib.fd
  230.   fd2pragma $fdLVOflags FD:space_lib.fd
  231.   fd2pragma $fdLVOflags FD:speedbar_lib.fd
  232.   fd2pragma $fdLVOflags FD:string_lib.fd
  233.   fd2pragma $fdLVOflags FD:texteditor_lib.fd
  234.   fd2pragma $fdLVOflags FD:textfield_lib.fd
  235.   fd2pragma $fdLVOflags FD:window_lib.fd
  236.   ; Third party libraries
  237.   fd2pragma $fdLVOflags FD:ahi_lib.fd
  238.   fd2pragma $fdLVOflags FD:ahi_sub_lib.fd
  239.   fd2pragma $fdLVOflags FD:cgxdither_lib.fd
  240.   fd2pragma $fdLVOflags FD:cgxsystem_lib.fd basename CGXSystemBase
  241.   fd2pragma $fdLVOflags FD:cgxvideo_lib.fd
  242.   fd2pragma $fdLVOflags FD:chunkyppc_lib.fd
  243.   fd2pragma $fdLVOflags FD:cybergraphics_lib.fd
  244.   fd2pragma $fdLVOflags FD:muiclass_lib.fd
  245.   fd2pragma $fdLVOflags FD:muimaster_lib.fd
  246.   fd2pragma $fdLVOflags FD:multiuser_lib.fd
  247.   fd2pragma $fdLVOflags FD:Picasso96API.fd
  248.   fd2pragma $fdLVOflags FD:powerpc_lib.fd
  249.   fd2pragma $fdLVOflags FD:ppcdiss_lib.fd
  250.   fd2pragma $fdLVOflags FD:ppc_lib.fd
  251.   fd2pragma $fdLVOflags FD:reqtools_lib.fd
  252.   fd2pragma $fdLVOflags FD:rtgmaster_lib.fd
  253.   fd2pragma $fdLVOflags FD:socket_lib.fd
  254.   fd2pragma $fdLVOflags FD:triton_lib.fd
  255.   fd2pragma $fdLVOflags FD:Warp3D.fd
  256.   fd2pragma $fdLVOflags FD:wizard_lib.fd
  257.  
  258. echo "*NAssembling LVO files..."
  259.   failat 20
  260.   spat "phxass q" ${temp}#?_lvo.i
  261.  
  262. echo "*NCompiling/Assembling support routines..."
  263.   vc $vcflags -O1 -c #?.(c|s)
  264.  
  265. echo "*NJoining everything together..."
  266.   join #?.o ${temp}#?.lib ${temp}#?.o to ${temp}${alibnam}_
  267.  
  268. echo "*NCleaning up..."
  269.   delete ${temp}#?.(s|o|i|lib) #?.o quiet
  270.   rename ${temp}${alibnam}_ ${temp}${alibnam}
  271.  
  272. unset vcflags
  273. unset fdflags
  274. unset fdLVOflags
  275. unset lbmodel
  276.  
  277. set instto $temp
  278.  
  279. which >nil: ask
  280. if not warn
  281.   ask "*NInstall $alibnam to vlibm68k: (y/n)?"
  282.   if warn
  283.     set instto vlibm68k:
  284.     failat 21
  285.     copy >nil: ${temp}$alibnam $instto
  286.     if not fail
  287.       delete ${temp}$alibnam quiet
  288.     endif
  289.     failat 20
  290.   endif
  291. endif
  292.  
  293. if exists ${instto}${alibnam}
  294.   echo "*N*N...poooh... $alibnam can be found in ${instto}."
  295. else
  296.   echo "*N*NInstallation error!"
  297. endif
  298.  
  299. unset instto
  300. unset alibnam
  301.